package service

import (
	"context"

	v1 "go_muban/api/home/v1"
	"go_muban/internal/model"
)

// IHome 首页服务接口定义
type IHome interface {
	// GetIndex 获取首页数据
	GetIndex(ctx context.Context, req *v1.IndexReq) (res *v1.IndexRes, err error)

	// GetFeaturedTemplates 获取特色模板
	GetFeaturedTemplates(ctx context.Context, req *v1.FeaturedTemplatesReq) ([]model.MbTemplateItem, error)

	// GetCategories 获取模板分类
	GetCategories(ctx context.Context, limit int) (interface{}, error)
}

// Home 获取首页服务实例
func Home() IHome {
	return serviceInstance.Get(IHome(nil)).(IHome)
}
